Kotlin এর Built-in Utility Functions
কটলিনে অনেক ধরনের বিল্ট-ইন ইউটিলিটি ফাংশন রয়েছে, যা প্রোগ্রামিং কাজকে সহজ এবং কার্যকরী করে তোলে। এই ফাংশনগুলো বিভিন্ন কাজের জন্য ব্যবহৃত হয়, যেমন স্ট্রিং ম্যানিপুলেশন, কালেকশন হ্যান্ডলিং, ফাইল অপারেশন ইত্যাদি। নিচে কটলিনের কিছু গুরুত্বপূর্ণ বিল্ট-ইন ইউটিলিটি ফাংশন সম্পর্কে আলোচনা করা হলো।
১. String Utility Functions
i) isNullOrEmpty()
এই ফাংশনটি চেক করে যে একটি স্ট্রিং null অথবা খালি কিনা।
val str: String? = null
println(str.isNullOrEmpty()) // আউটপুট: true
ii) isNullOrBlank()
এটি চেক করে যে একটি স্ট্রিং null, খালি বা শুধুমাত্র স্পেস থাকলে।
val str: String? = " "
println(str.isNullOrBlank()) // আউটপুট: true
iii) trim()
এটি স্ট্রিংয়ের আগে এবং পরে থাকা স্পেস সরিয়ে দেয়।
val str = " Hello, Kotlin! "
println(str.trim()) // আউটপুট: Hello, Kotlin!
২. Collection Utility Functions
i) filter()
এই ফাংশনটি একটি কালেকশনের উপাদানগুলোকে একটি শর্ত অনুযায়ী ফিল্টার করে এবং নতুন একটি কালেকশন রিটার্ন করে।
val numbers = listOf(1, 2, 3, 4, 5)
val evenNumbers = numbers.filter { it % 2 == 0 }
println(evenNumbers) // আউটপুট: [2, 4]
ii) map()
এই ফাংশনটি একটি কালেকশনের প্রতিটি উপাদানের উপর একটি অপারেশন প্রয়োগ করে এবং একটি নতুন কালেকশন রিটার্ন করে।
val numbers = listOf(1, 2, 3)
val squares = numbers.map { it * it }
println(squares) // আউটপুট: [1, 4, 9]
iii) reduce()
এই ফাংশনটি একটি কালেকশনের উপাদানগুলোকে একটি একক মানে রিডিউস করে।
val sum = numbers.reduce { acc, number -> acc + number }
println(sum) // আউটপুট: 6
৩. Sequence Utility Functions
i) asSequence()
একটি কালেকশনকে Sequence তে রূপান্তর করে, যা লেজি লোডিং (lazy loading) সমর্থন করে।
val numbers = (1..1000).asSequence()
val evenNumbers = numbers.filter { it % 2 == 0 }.take(5).toList()
println(evenNumbers) // আউটপুট: [2, 4, 6, 8, 10]
৪. I/O Utility Functions
i) readText()
ফাইলের সমস্ত কনটেন্ট পড়তে এই ফাংশনটি ব্যবহৃত হয়।
import java.io.File
fun main() {
val content = File("example.txt").readText()
println(content)
}
ii) writeText()
ফাইলে নতুন কনটেন্ট লিখতে ব্যবহৃত হয়।
import java.io.File
fun main() {
File("example.txt").writeText("Hello, Kotlin!")
}
৫. Other Utility Functions
i) with()
এই ফাংশনটি একটি অবজেক্টের উপর একটি ব্লক চালাতে ব্যবহৃত হয়।
data class Person(var name: String, var age: Int)
fun main() {
val person = Person("Alice", 25)
with(person) {
println("Name: $name, Age: $age")
}
}
ii) let()
এই ফাংশনটি null চেক করার জন্য এবং একটি স্কোপে ভ্যারিয়েবলের উপর কাজ করার জন্য ব্যবহৃত হয়।
val name: String? = "Kotlin"
name?.let {
println("Name is: $it")
}
iii) also()
এই ফাংশনটি একটি অবজেক্টের সাথে কিছু অপারেশন করার জন্য ব্যবহৃত হয় এবং মূল অবজেক্ট রিটার্ন করে।
val numberList = mutableListOf(1, 2, 3).also { println("List before addition: $it") }
numberList.add(4)
println("List after addition: $numberList") // আউটপুট: List after addition: [1, 2, 3, 4]
উপসংহার
কটলিনের বিল্ট-ইন ইউটিলিটি ফাংশনগুলো আপনার কোডের কার্যকারিতা ও পাঠযোগ্যতা বাড়ায়। এই ফাংশনগুলো বিভিন্ন কাজ যেমন স্ট্রিং ম্যানিপুলেশন, কালেকশন হ্যান্ডলিং, এবং ফাইল অপারেশন সহজ করে তোলে। এই ফাংশনগুলোর সঠিক ব্যবহার আপনার কোডকে আরও মডুলার এবং কার্যকর করবে।
Read more